import { S } from '../../s';
import { IPSDER1N } from './ipsder1-n';
import { PSDERBaseImpl } from './psderbase-impl';
import { IPSLanguageRes } from '../../res/ipslanguage-res';

export class PSDER1NImpl extends PSDERBaseImpl implements IPSDER1N {
  get cloneOrder(): number {
    return this.M.cloneOrder != null ? this.M.cloneOrder : -1;
  }

  get customExportOrder(): number {
    return this.M.customExportOrder != null ? this.M.customExportOrder : -1;
  }

  get customExportOrder2(): number {
    return this.M.customExportOrder2 != null ? this.M.customExportOrder2 : -1;
  }

  get exportMajorModel(): 1 {
    return this.M.exportMajorModel != null ? this.M.exportMajorModel : -1;
  }

  get masterOrder(): number {
    return this.M.masterOrder;
  }

  get masterRS(): 1 | 2 | 4 | 8 | 16 {
    return this.M.masterRS;
  }

  get pickupDEFName(): string {
    return this.M.pickupDEFName;
  }

  get rRMLanResTag(): string {
    return this.M.rRMLanResTag;
  }

  protected rrmpslanguageres: IPSLanguageRes;
  getRRMPSLanguageRes(): IPSLanguageRes | null {
    return (
      this.rrmpslanguageres ||
      (this.rrmpslanguageres = this.fillObjectModel(
        S._276,
        this.M.getRRMPSLanguageRes,
        S._36e,
      ) as IPSLanguageRes)
    );
  }

  get removeActionType(): 0 | 1 | 2 | 3 {
    return this.M.removeActionType;
  }

  get removeOrder(): number {
    return this.M.removeOrder;
  }

  get removeRejectMsg(): string {
    return this.M.removeRejectMsg;
  }

  get cloneRS(): boolean {
    return this.M.cloneRS != null ? this.M.cloneRS : false;
  }

  get enableDEFieldWriteBack(): boolean {
    return this.M.enableDEFieldWriteBack != null
      ? this.M.enableDEFieldWriteBack
      : false;
  }

  get enableExtRestrict(): boolean {
    return this.M.enableExtRestrict != null ? this.M.enableExtRestrict : false;
  }

  get enablePDEREQ(): boolean {
    return this.M.enablePDEREQ != null ? this.M.enablePDEREQ : false;
  }

  get nestedRS(): boolean {
    return this.M.nestedRS != null ? this.M.nestedRS : false;
  }

  get recursiveRS(): boolean {
    return this.M.recursiveRS != null ? this.M.recursiveRS : false;
  }
  get cls(): string {
    return 'PSDER1NImpl';
  }
  instanceof(cls: string): boolean {
    if (cls == S._273) return true;
    return super.instanceof(cls);
  }
}
